<?php 
//配置文件读写
defined('ACC')||exit('ACC Denied');
class conf {
	protected $data=array();
	protected static $ins=null;
	/**
	 * 一次性把配置文件读取出来
	 * conf constructor.
     */
	final protected function __construct(){
		include(ROOT.'include/config.inc.php');
		$this->data=$_CFG;
	}
	public static function getIns(){
		if (self::$ins instanceof self) {
			return self::$ins;
		}else{
			self::$ins=new self();
			return self::$ins;
		}

	}
	final protected function __clone(){

	}

    /**
     * 直接在对象外部获取私有属性的值时，会自动调用此方法
     * @param $key
     * @return mixed|null
     */
    public function __get($key){
		if (array_key_exists($key, $this->data)) {
			return $this->data[$key];
		}
		else{
			return null;
		}
	}

    /**
     *set（）方法在类外部动态地为私有的成员属性赋值
     * 在用户为私有属性设置值时自动调用
     * @param $key
     * @param $value
     * @return mixed
     */
    public function __set($key, $value){
		return $this->data[$key] = $value;
	}
}